Large networks of computer devices are often utilized in organizations. For example, an installation in which each individual user has a device and these user devices are connected to a network is common. In such an installation, it may be useful to be able to identify each device consistently over time. One way to provide consistent identification is to use a device identity that is based on gathered information regarding the hardware components of the device and other device information.
Additionally, in a network, it may be useful to maintain information regarding the devices on a network. For example, in a software development context, it may be necessary to test a piece of software under development in different hardware contexts. One way to do this is to request that users report on their devices. However, relying on users to respond to requests to provide hardware parameters of a device may not yield the necessary results. Additionally user reporting may be unreliable, so relying on users to report on their devices may not be sufficient to provide complete and accurate information regarding their devices. Information may be incomplete and inaccurate, and the ability to target a test at a specific set of devices or the ability to target a test at a specific hardware component (regardless of the device in which the component is installed) will be impeded.
To the extent that systems which gather device data in a network exist, these device data gatherers gather only specified data, and are not extensible. Thus, an additional need is to minimize duplicated effort in the development and implementation of a new gatherer to gather information when new information is being gathered from the devices.